package com.xiaoyun.xymall.search.thread;

import java.util.concurrent.*;

public class ThreadTest {

    private static ExecutorService execute = Executors.newFixedThreadPool(10);

//    public static void main(String[] args) throws Exception {
//
//        CompletableFuture<String> future = CompletableFuture.supplyAsync(() -> {
//            System.out.println("当前线程：  " + Thread.currentThread().getId());
//            int i = 10 / 4;
//            System.out.println("运行结果：  " + i);
//            return i;
//        }, execute).thenApplyAsync(res -> {
//            System.out.println("任务2启动了。。。" + res);
//            return "Hello  " + res;
//        }, execute);

//        future.runa


//        System.out.println("main...end..." + future.get());
//    CompletableFuture<String> future = CompletableFuture.supplyAsync(() -> {
//            System.out.println("当前线程：  " + Thread.currentThread().getId());
//            int i = 10 / 4;
//            System.out.println("运行结果：  " + i);
//            return i;
//        }, execute).thenApplyAsync(res -> {
//            System.out.println("任务2启动了。。。" + res);
//            return "Hello  " + res;
//        }, execute);

//        CompletableFuture.supplyAsync(() -> {
//            System.out.println("当前线程：  " + Thread.currentThread().getId());
//            int i = 10 / 4;
//            System.out.println("运行结果：  " + i);
//            return i;
//        }, execute).thenAcceptAsync(res -> {
//            System.out.println("任务2启动了。。。" + res);
//        });

//       CompletableFuture<Void> future = CompletableFuture.supplyAsync(() -> {
//            System.out.println("当前线程：  " + Thread.currentThread().getId());
//            int i = 10 / 4;
//            System.out.println("运行结果：  " + i);
//            return i;
//        }, execute).thenRunAsync(() -> {
//            System.out.println("任务2启动了。。。");
//        });

//        CompletableFuture<Integer> future = CompletableFuture.supplyAsync(() -> {
//            System.out.println("当前线程：  " + Thread.currentThread().getId());
//            int i = 10 / 4;
//            System.out.println("运行结果：  " + i);
//            return i;
//        }, execute).handle((res, thr) -> {
//            if (res != null) {
//                return res * 2;
//            }
//            if (thr != null) {
//                return 0;
//            }
//            return 0;
//        });
//        Integer integer = future.get();
//        System.out.println("main....end...." + integer);

//    }
}
